package org.hcyspartnoc.luoxin.service.asset;

import com.baomidou.mybatisplus.extension.service.IService;
import org.hcyspartnoc.luoxin.common.core.PageBean;
import org.hcyspartnoc.luoxin.common.exception.asset.AssetVCounselorException;
import org.hcyspartnoc.luoxin.common.exception.common.CommonUtilsException;
import org.hcyspartnoc.luoxin.common.exception.framework.AuthException;
import org.hcyspartnoc.luoxin.pojo.dto.asset.AssetVCounselorAddDto;
import org.hcyspartnoc.luoxin.pojo.dto.asset.AssetVCounselorModifyDto;
import org.hcyspartnoc.luoxin.pojo.po.asset.AssetVirtualCounselorPo;
import org.hcyspartnoc.luoxin.pojo.vo.asset.AssetVCounselorAdminVo;
import org.hcyspartnoc.luoxin.pojo.vo.asset.AssetVCounselorVo;

public interface IAssetVirtualCounselorService extends IService<AssetVirtualCounselorPo> {
    void addVirtualCounselor(AssetVCounselorAddDto assetVCounselorAddDto) throws CommonUtilsException, AssetVCounselorException;

    void modifyVirtualCounselor(AssetVCounselorModifyDto assetVCounselorModifyDto) throws AssetVCounselorException, CommonUtilsException, AuthException;

    PageBean<AssetVirtualCounselorPo, AssetVCounselorAdminVo> queryByPage(Integer currentPage, Integer pageSize, String name, String therapy, String styleStringList,Integer isOpen);

    void removeByVCounselorId(Integer vCounselorId) throws AssetVCounselorException, AuthException;

    void modifyIsOpen(Integer vCounselorId) throws AssetVCounselorException, AuthException;

    PageBean<AssetVirtualCounselorPo, AssetVCounselorVo> queryByToken(Integer currentPage, Integer pageSize);
}
